package com.alquiler.services;

import java.util.List;

import com.alquiler.dao.SedeDao;
import com.alquiler.dto.ItemDto;
import com.alquiler.entities.Sede;
import com.alquiler.managers.SimpleEntityManager;

public class SedeService {
	
	private SedeDao sedeDao;	
	
	public SedeService() {		
		this.sedeDao = new SedeDao(SimpleEntityManager.getInstance().getEntityManager());		
	}
	
	
	public List<Sede> findAll(){
        return sedeDao.findAll();
	}
	
	public Sede findById(Integer idSede){
        return sedeDao.findById(idSede);
	}
	
	public Sede getSedeByNombre(String nombre){
		
        return sedeDao.getSedeByNombre(nombre);
	}
	
	public List<ItemDto>  getListItems() {		 
		return sedeDao.getListItems();
	}
	
	
	
	public void saveSede(Sede sede){		
	
		
		try{
            SimpleEntityManager.getInstance().beginTransaction();	          
            sedeDao.save(sede);
            SimpleEntityManager.getInstance().commit();
        }catch(Exception e){
            e.printStackTrace();
            SimpleEntityManager.getInstance().rollBack();
        }		
	}
	
	public void updateSede(Sede sede){
		
		try{
			SimpleEntityManager.getInstance().beginTransaction();
			sedeDao.update(sede);				
		    SimpleEntityManager.getInstance().commit();
        }catch(Exception e){
            e.printStackTrace();
            SimpleEntityManager.getInstance().rollBack();
        }
		
	}
	
	
	public void deleteSede(Sede sede) throws Exception{
		try{
				
			SimpleEntityManager.getInstance().beginTransaction();
			sedeDao.remove(sede);	
			SimpleEntityManager.getInstance().commit();
		  
        }catch(Exception e){        	
            SimpleEntityManager.getInstance().rollBack();       
        }
		
	}

}
